@Ineverleft
2年前 提问
1个回答

支撑微服务运行的核心组件有哪些

安全侠
2年前

支撑微服务运行的核心组件有以下这些:

  • 调用链:记录完成一个业务逻辑时调用的微服务,并将这种串行或并行的调用关系展示出来。在系统出错时,可以方便地找到出错点。

  • 服务网关:服务网关是服务调用的唯一入口,可以由这个组件实现用户鉴权、动态路由、灰度发布、A/B测试、负载限流等功能。

  • 负载均衡:服务提供方一般以多实例的形式提供服务,负载均衡功能能够让服务调用方连接到合适的服务节点,并且节点选择的工作对服务调用方来说是透明的。

  • API管理:以方便的形式编写及更新API文档,并以方便的形式供调用者查看和测试。

  • 配置中心:将本地化的配置信息注册到配置中心,实现程序包在开发环境、测试环境、生产环境的无差别性,方便程序包的迁移。

  • 分布式事务:对于重要的业务,需要通过分布式事务技术(TCC、高可用消息服务、最大努力通知)保证数据的一致性。

  • 服务治理:服务治理的主要职责是对微服务提供的能力进行治理,例如服务的注册与发现、服务的监控、服务的流量管理,以及服务的安全访问与授权认证等。

  • 支撑平台:系统微服务化后变得更加碎片化,系统的部署、运维、监控等都比单体架构更加复杂,那么,就需要将大部分的工作自动化。现在,可以通过Docker等工具来消除这些微服务架构带来的弊端,这些工具可以实现持续集成、蓝绿发布、健康检查、性能健康等。